/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package compilador.analisadorLexico.automatos;

import compilador.analisadorLexico.CodeReader;
import compilador.analisadorLexico.Token;
import compilador.analisadorLexico.TokenClass;
/**
 *
 * @author Paulo Victor
 */
public class AutomatoDelimitador implements IAutomato{
    
    private CodeReader reader;
    private Token token;
    
    private char backup;
    private String retorno;
    
    public AutomatoDelimitador(CodeReader reader){
        this.reader = reader;
    }
    
    public Token extraiToken(){
        
        reader.clear();
        
        backup = reader.next();
        
        if(isDelimitador(backup)){
            
            retorno = retorno.valueOf(backup);
            
            reader.next();
            int linha = reader.getCurrentLine();
            reader.closeToken();
            
            token = new Token(TokenClass.DELIMITADOR, retorno, linha);
            
            return token;
            
        }
        
        return null;
        
    }
    
    public boolean isDelimitador(char teste){
        
        if(teste == ';')
            return true;

        if(teste == '(')
            return true;

        if(teste == ')')
            return true;

        if(teste == '{')
            return true;

        if(teste == '}')
            return true;
        
        return false;
        
    }

}
